<ui:composition template="#{ConfiguracionBean.rutaContexto}resources/Plantillas/normal.xhtml"
                xmlns="http://www.w3.org/1999/xhtml"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:p="http://primefaces.org/ui"
                xmlns:fnc="http://yournamespace.com/fnc">

    <ui:define name="titulo">
        <h:outputText value="Buscar trámite"/>
    </ui:define>

    <ui:define name="content">
        <h:form id="formBuscarTramites">
            <h:panelGrid>
                <h:panelGrid columns="2">
                    <h:outputText value="Trámite ID"/>
                    <h:panelGrid columns="2" cellpadding="0" cellspacing="0">
                        <h:inputText id="tramiteID" value="#{TramiteBean.tramiteIdBuscarTramite}" maxlength="10" size="10" converter="javax.faces.Integer"
                                     converterMessage="Debes ingresar un número entero" validator="#{Validador.enteroPositivo}"/>
                        <p:message for="tramiteID" />
                    </h:panelGrid>
                    <h:outputText value="Usuario"/>
                    <h:selectOneMenu value="#{TramiteBean.usuarioBuscarTramite}">
                        <f:selectItems value="#{TramiteBean.listaUsuariosAplicacion}" />  
                    </h:selectOneMenu>
                    <h:outputText value="Operador"/>
                    <h:selectOneMenu value="#{TramiteBean.operadorBuscarTramite}">
                        <f:selectItems value="#{TramiteBean.listaOperador}" />  
                    </h:selectOneMenu>
                    <h:outputText value="Estado"/>
                    <h:selectOneMenu value="#{TramiteBean.estadoBuscarTramite}">
                        <f:selectItems value="#{TramiteBean.listaEstadoTramite}" />  
                    </h:selectOneMenu>
                    <h:outputText value="Radicado"/>
                    <h:panelGrid columns="2" cellpadding="0" cellspacing="0">
                        <h:inputText id="radicado" value="#{TramiteBean.radicadoBuscarTramite}" maxlength="9" size="9" converter="javax.faces.Integer"
                                     converterMessage="Debes ingresar un número entero" validator="#{Validador.enteroPositivo}"/>
                        <p:message for="radicado" />
                    </h:panelGrid>
                    <h:outputText value="Recursos"/>
                    <h:panelGrid columns="6" width="100%" id="opcionesRecursos" >
                        <p:selectBooleanCheckbox value="#{TramiteBean.seleccionNumeracion}" />
                        <h:outputText value="Numeración"/>
                        
                        <p:selectBooleanCheckbox value="#{TramiteBean.seleccionSenalizacion}" />
                        <h:outputText value="Señalización"/>
                        
                        <p:selectBooleanCheckbox value="#{TramiteBean.seleccionIin}" />
                        <h:outputText value="Códigos IIN"/>

                        <p:selectBooleanCheckbox value="#{TramiteBean.seleccionMnc}" />
                        <h:outputText value="Códigos MNC"/>

                        <p:selectBooleanCheckbox value="#{TramiteBean.seleccionCodigosCortos}" />
                        <h:outputText value="Códigos Cortos"/>

                        <p:selectBooleanCheckbox value="#{TramiteBean.seleccionMarcacionAbreviada}" />
                        <h:outputText value="Marcación Abreviadaa"/>
                        
                        <p:selectBooleanCheckbox value="#{TramiteBean.seleccionCodigosLd}" />
                        <h:outputText value="Códigos Ld"/>
                        
                        <p:selectBooleanCheckbox value="#{TramiteBean.seleccionCodigosNrn}" />
                        <h:outputText value="Códigos Nrn"/>
                    </h:panelGrid>
                </h:panelGrid>
                <h:panelGrid>
                    <p:commandButton value="Consultar" actionListener="#{TramiteBean.buscarTramite}" ajax="true" update="formBuscarTramites,:pgBustarTramites"/>
                </h:panelGrid>
            </h:panelGrid>
            <p:separator/>
        </h:form>
        
        <h:panelGrid id="pgBustarTramites" width="100%">
            <h:form >
                <h:panelGrid columns="2">
                    <h:outputText value="Trámites encontrados:"/>
                    <h:outputText value="#{fnc:countLista(TramiteBean.listaBuscarTramite)}"/>
                </h:panelGrid>
                <p:dataTable id="datos" value="#{TramiteBean.listaBuscarTramite}" var="tr" paginator="true"
                             rowIndexVar="rowIndex" widgetVar="datatableVar" style="font-size:10px" rows="10"
                             rowsPerPageTemplate="10,20,30,40,50" emptyMessage="No se encontraron trámites"
                             paginatorTemplate="{RowsPerPageDropdown} {CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink}">
                    <p:column styleClass="tabla-expandir">  
                        <p:rowToggler />  
                    </p:column>
                    <p:column headerText="Tramite ID" sortBy="#{tr.trnCodigo}" style="width:80px; text-align: center;">
                        <h:outputText value="#{tr.trnCodigo}"/>
                    </p:column>
                    <p:column headerText="Fecha" sortBy="#{tr.emrCodigo.emtNombre}" style="width:70px">
                        <h:outputText value="#{tr.trfFecha}">
                            <f:convertDateTime pattern="dd/MM/yyyy hh:mm a" type="date" timeZone="EST"/>
                        </h:outputText>
                    </p:column>
                    <p:column headerText="Estado" sortBy="#{tr.etnCodigo.ettNombre}" style="width:80px">
                        <h:outputText value="#{tr.etnCodigo.ettNombre}"/>
                    </p:column>
                    <p:column headerText="Usuario" sortBy="#{tr.usnCodigo.codigoSIUST.email}" style="width:80px">
                        <h:outputText value="#{fnc:userEmail(tr.usnCodigo.codigoSIUST.email)}"/>
                    </p:column>
                    <p:column headerText="Operador" sortBy="#{tr.emrCodigo.emtNombre}">
                        <h:outputText value="#{tr.emrCodigo.emtNombre}"/>
                    </p:column>
                    <p:column headerText="Recursos" style="width:110px">
                        <h:outputText value="&#8226; Señalización&lt;br/&gt;" rendered="#{not empty tr.tsTramiteSenalizacionCollection}" escape="false"/>
                        <h:outputText value="&#8226; Numeracion&lt;br/&gt;" rendered="#{not empty tr.tnTramiteNumeracionCollection}" escape="false"/>
                        <h:outputText value="&#8226; Códigos LD&lt;br/&gt;" rendered="#{not empty tr.tlTramiteLdCollection}" escape="false"/>
                        <h:outputText value="&#8226; Códigos Cortos&lt;br/&gt;" rendered="#{not empty tr.tcTramiteCcCollection}" escape="false"/>
                        <h:outputText value="&#8226; Marcación Abreviada&lt;br/&gt;" rendered="#{not empty tr.taTramiteMaCollection}" escape="false"/>
                        <h:outputText value="&#8226; Códigos MNC&lt;br/&gt;" rendered="#{not empty tr.tmTramiteMncCollection}" escape="false"/>
                        <h:outputText value="&#8226; Códigos NRN&lt;br/&gt;" rendered="#{not empty tr.tkTramiteNrnCollection}" escape="false"/>
                        <h:outputText value="&#8226; Códigos IIN" rendered="#{not empty tr.tiTramiteIinCollection}" escape="false"/>
                    </p:column>
                    <p:column style="width:32px">  
                        <p:commandButton action="#{TramiteBean.detalleTramite}" ajax="false" icon="ui-icon ui-icon-search" onclick="statusDialog.show();">  
                            <f:setPropertyActionListener target="#{TramiteBean.selectedTramite}" value="#{tr}"/>  
                        </p:commandButton>  
                    </p:column>
                    <p:rowExpansion>
                        <h:dataTable value="#{tr.gtGetionTramiteCollection}"
                                     var="selTramite" border="1" style="font-size:9px" width="100%"
                                     styleClass="order-table" headerClass="order-table-header" rowClasses="order-table-odd-row,order-table-even-row">
                            <h:column>
                                <f:facet name="header">
                                    <h:outputText value="FECHA"/>
                                </f:facet>
                                <h:outputText value="#{selTramite.gtfFecha}">
                                    <f:convertDateTime pattern="dd/MM/yyyy hh:mm a" type="date" timeZone="EST"/>
                                </h:outputText>
                            </h:column>
                            <h:column>
                                <f:facet name="header">
                                    <h:outputText value="ESTADO"/>
                                </f:facet>
                                <h:outputText value="#{selTramite.etnCodigo.ettNombre}"/>
                            </h:column>
                            <h:column>
                                <f:facet name="header">
                                    <h:outputText value="USUARIO"/>
                                </f:facet>
                                <h:outputText value="#{fnc:userEmail(selTramite.usnCodigo.codigoSIUST.email)}"/>
                            </h:column>
                            <h:column>
                                <f:facet name="header">
                                    <h:outputText value="ROL"/>
                                </f:facet>
                                <h:outputText value="#{selTramite.usnCodigo.tunCodigo.tutNombre}"/>
                            </h:column>
                            <h:column >
                                <f:facet name="header">
                                    <h:outputText value="OBSERVACIONES"/>
                                </f:facet>
                                <h:outputText value="#{selTramite.gttObservaciones}"/>
                            </h:column>
                        </h:dataTable>
                    </p:rowExpansion>
                </p:dataTable>
            </h:form>
        </h:panelGrid>
        

    </ui:define>
</ui:composition>